$(function () {
    init();
    function init() {

        eventList();
        //1.下拉刷新
        mui.init({
            pullRefresh: {
                container: ".lt_view",//下拉刷新容器标识，querySelector能定位的css选择器均可，比如：id、.class等
                down: {
                    auto: true,//可选,默认false.首次加载自动上拉刷新一次
                    callback: function () {
                        //2.1 刷拉刷新后,渲染数据
                        getQueryCart(function () {
                            //1.1 结束刷新
                            mui('.lt_view').pullRefresh().endPulldownToRefresh();
                        })
                    } //必选，刷新函数，根据具体业务来编写，比如通过ajax从服务器获取新数据；
                }
            }
        });

    }

    //绑定一坨事件
    function eventList() {
        //3.选择复选框=change 计算总价格 tap 不行=>change
        $("#lt_goods_list").on("change",".goods_chk",function () {
            // console.log(123);
            /* 
            1.获取已经勾选的复选框 数组
            2.循环复选框数组,获取对应的商品的单击和数量 累加 来计算总的价格
            */
        //3.1 获取已经勾选了的复选框 数组
        var chks = $(".goods_chk:checked");
        //console.log(chks);

        //3.2 初始化总的价格
        var total_price = 0;

        //3.3 循环循环复选框数组,获取对应的商品的单击和数量 累加 来计算总的价格
        for (var i = 0; i < chks.length; i++) {
            var element = chks[i];

        //3.4 当前被点击的商品对象 closest 获取到一个父元素
        var tmpObj = $(element).closest("li").data("obj");
        // console.log(tmpObj);

        //3.5 当前的单价
        var tmpPrice = tmpObj.price;
        //3.6数量
        var num = tmpObj.num;

        //3.7 单价乘数量等于当前商品的总价格
        total_price += (+tmpPrice * num);
            
        }

        //3.8 计算总额度:js里面 在计算小数的时候有误差!!! 浮动数的小数的个数(四舍五入的!!!)) 
        total_price = total_price.toFixed(2);
        //3.9赋值
        $(".total_price").text(total_price);
           
        });


        //4.删除单个商品
        $("#lt_goods_list").on("tap",".item_delete",function () {
            // console.log(123);
            //4.1 获取当前的商品对象
            var tmpObj = $(this).closest("li").data("obj");
            // console.log(tmpObj);

            //4.2 弹出对话框
            mui.confirm("你真的要删除吗", "温馨提示", ["确定", "取消"], function (etype) {
                //4.3判断 如果索引是0的话 就是确定删除
                if (etype.index == 0) {
                    var queryObj={
                        id:[tmpObj.id]
                    }

                    //5.1调用删除商品的函数
                    deleteCart(queryObj,function () {
                        //5.2 调用查询购物车 ,删除数据后,重新渲染页面
                        getQueryCart();
                    })

                }else if (etype.index==1) {
                    //如果索引是1的话 就是取消

                }
            })
            
        })
    }

    //2.查询购物车 渲染数据  /cart/queryCart
    function getQueryCart(callback) {
        //2.3 请求数据
        $.get(location.origin + "/cart/queryCart", function (data) {
            console.log(data);
            var html = template("mainTpl", { arr: data });
            //进行渲染
            $("#lt_goods_list").html(html);

            //2.2 调用callback函数
            callback && callback();
        })
    }

    //5.删除购物车
    function deleteCart(ids,callback) {
        $.get(location.origin + "/cart/deleteCart",ids,function (data) {
            console.log(data);
            // { success: true }  true为成功删除

            //5.3删除数据后,重新调用加载组件
            callback && callback();
        })
    }
})